home *** CD-ROM | disk | FTP | other *** search
/ Linux Cubed Series 4: GNU Archives / Linux Cubed Series 4 - GNU Archives.iso / gnu / fontutil.6 / fontutil / fontutils-0.6 / INSTALL < prev    next >
Encoding:
Text File  |  1992-10-27  |  12.3 KB  |  300 lines

  1. File: fontu.info,  Node: Installation,  Next: Overview,  Prev: Introduction,  Up: Top
  2.  
  3. Installation
  4. ************
  5.  
  6.   *Note Prereqs::, for what you need to have installed before you can
  7. compile these programs.
  8.  
  9.   After that, here's what to do:
  10.  
  11.    * Run `sh configure' in the top-level directory.  This tries to
  12.      figure out system dependencies and the installation prefix.  *Note
  13.      configure::, for options and other information about the
  14.      `configure' script.
  15.  
  16.    * If necessary, edit the paths or other definitions in the top-level
  17.      `GNUmakefile' and in `include/c-auto.h'.
  18.  
  19.    * Run GNU make.  For example, if it's installed as `make', just type
  20.      `make' in the top-level directory.  If all goes well, this will
  21.      compile all the programs.
  22.  
  23.    * Install the programs and supporting data files with `make install'.
  24.  
  25.   If you encounter problems anywhere along the line, let us know.  Known
  26. problems are listed below (*note Problems::.). *Note Bugs::, for
  27. details on how to submit a useful bug report.
  28.  
  29. * Menu:
  30.  
  31. * configure::                   Options and frills for the `configure' script.
  32. * Prereqs::                     What's needed before installation.
  33. * Problems::                    Known trouble.
  34.  
  35. File: fontu.info,  Node: configure,  Next: Prereqs,  Up: Installation
  36.  
  37. The `configure' script
  38. ======================
  39.  
  40.   (This section is largely from the Autoconf manual, by David MacKenzie.
  41. *Note Running `configure' scripts: ( autoconf)Running configure
  42. Scripts.)
  43.  
  44.   The `configure' script that comes with the font utilities is
  45. generated automatically by the Autoconf program.  You can regenerate
  46. `configure' by rerunning Autoconf (for example, if a new version of
  47. Autoconf is released); you must arrange for Autoconf to use the macros
  48. in `./aclocal.m4' (*note Generating `configure': (autoconf)Generating
  49. configure.).
  50.  
  51.   The purpose of `configure' is to adapt the source code to your
  52. system: for example, the name of the directory header file (`dirent.h'
  53. or `sys/dir.h'), whether an `install' program is available, and so on.
  54.  
  55.   Normally, you do not need to give any options to `configure'; you
  56. `cd' to the directory with the source code and type `configure'. 
  57. Exceptions: if `.' is not in your `PATH', you must type `./configure';
  58. if you are using a non-Bourne-compatible shell on some old systems, you
  59. must samp `sh configure'.
  60.  
  61.   Running `configure' takes a minute or two.  While it is running, it
  62. prints some messages that tell what it is doing.  If you don't want to
  63. see the messages, run `configure' with its standard output redirected
  64. to `/dev/null'; for example, `configure >/dev/null'.
  65.  
  66.   To compile the package in a different directory from the one
  67. containing the source code, you must use a variant of Make that
  68. supports the `VPATH' variable, such as GNU Make.  `cd' to the directory
  69. where you want the object files and executables to go and run
  70. `configure' with the option `--srcdir=DIR', where DIR is the directory
  71. that contains the source code.  Using this option is unnecessary if the
  72. source code is in the parent directory of the one in which you are
  73. compiling; `configure' automatically checks for the source code in `..'
  74. if it does not find it in `.'.
  75.  
  76.   `configure' guesses the default installation prefix (we'll call it
  77. `$(prefix)') by looking for the directory which contains the command
  78. `gcc', and using its parent.  For example, if `gcc' is installed as
  79. `/usr/local/gnu/bin/gcc', `$(prefix)' will be set to `/usr/local/gnu'.
  80.  
  81.   You can override this default guess for the installation prefix by
  82. giving `configure' the option `--prefix=PATH'.  You can also specify
  83. separate installation prefixes for architecture-specific files and
  84. architecture-independent files by giving `configure' the option
  85. `--exec_prefix=XPATH'. Then XPATH will be the prefix for installing
  86. programs and libraries.  Data files and documentation will still use
  87. the regular prefix.  Normally, all files are installed using the
  88. regular prefix.
  89.  
  90.   You can tell `configure' to figure out the configuration for your
  91. system, and record it in `config.status', without actually configuring
  92. the package.  To do this, give `configure' the `--no-create' option. 
  93. Later, you can run `./config.status' to actually configure the package.
  94.  This option is useful mainly in `Makefile' rules for updating
  95. `config.status' and the `Makefile' itself.  You can also give
  96. `config.status' the `--recheck' option, which makes it rerun
  97. `configure' with the same arguments you used before.  This is useful if
  98. you change `configure'.
  99.  
  100.   `configure' ignores any other arguments that you give it.
  101.  
  102.   On systems that require unusual options for compilation or linking
  103. that the package's `configure' script does not know about, you can give
  104. `configure' initial values for variables by setting them in the
  105. environment.  In Bourne-compatible shells, you can do that on the
  106. command line like this:
  107.  
  108.      CC='gcc -traditional' LIBS=-lposix sh configure
  109.  
  110.   The Make variables that you might want to override with environment
  111. variables when running `configure' are:
  112.  
  113.   (For these variables, any value given in the environment overrides the
  114. value that `configure' would choose.)
  115.  
  116. `CC'
  117.      The C compiler program.  The default is `gcc' if that is in your
  118.      `PATH', `cc' otherwise.
  119.  
  120. `INSTALL'
  121.      The program to use to install files.  The default is `install' if
  122.      you have it, `cp' otherwise.
  123.  
  124.   (For these variables, any value given in the environment is added to
  125. the value that `configure' chooses.)
  126.  
  127. `DEFS'
  128.      Configuration options, in the form `-Dfoo -Dbar...'.  Packages
  129.      that use the Autoconf macro `AC_CONFIG_HEADER' (including the file
  130.      utilities) do not use this variable.
  131.  
  132. `LIBS'
  133.      Libraries to link with, in the form `-lfoo -lbar...'.
  134.  
  135.   Of course, problems requiring manual intervention (e.g., setting these
  136. variables) should ideally be fixed by updating either the Autoconf
  137. macros or the `configure.in' file for that package.
  138.  
  139. File: fontu.info,  Node: Prereqs,  Next: Problems,  Prev: configure,  Up: Installation
  140.  
  141. Prerequisites
  142. =============
  143.  
  144.   To compile and use these programs, the following are necessary:
  145.  
  146.    * The GNU C compiler, version 1.40 or newer.
  147.  
  148.    * GNU Make; probably any version newer than 3.50 or so will do.
  149.  
  150.    * X11R4 or R5 unshared libraries and headers.  These are only
  151.      necessary to run XBfe (*note XBfe::.) or for Limn (*note Limn::.)
  152.      to display its results online.  (You also need an X11 server,
  153.      naturally.)  You might be able to compile using the X11 shared
  154.      libraries, but we haven't tried that.
  155.  
  156.    * To make any substantial use of the fonts you create, you will
  157.      probably need TeX, Metafont, and their friends, especially
  158.      `PLtoTF' and `GFtoPK'.
  159.  
  160.    * Ghostscript, version 2.4 or newer. You only need this if you want
  161.      to use GSrenderfont or BZRedit.
  162.  
  163.    * The GNU Awk program, `gawk'.  This is only needed if you want to
  164.      use GSrenderfont.
  165.  
  166.   See the section below for information on how to get all these
  167. programs.
  168.  
  169. * Menu:
  170.  
  171. * Archives::                    Where to find programs.
  172.  
  173. File: fontu.info,  Node: Archives,  Up: Prereqs
  174.  
  175. Archives
  176. --------
  177.  
  178.   The canonical source for all GNU software, including the GNU C
  179. compiler, GNU make, and Ghostscript, is `prep.ai.mit.edu
  180. [18.71.0.38]:pub/gnu'.  That directory is replicated at many other sites
  181. around the world, including:
  182.  
  183. United States:
  184.             wuarchive.wustl.edu   gatekeeper.dec.com:pub/GNU
  185.             uxc.cso.uiuc.edu      ftp.uu.net:packages/gnu
  186.  
  187. Europe:
  188.             archive.eu.net        src.doc.ic.ac.uk:gnu    ftp.funet.fi
  189.             nic.funet.fi:pub/gnu  ugle.unit.no            isy.liu.se
  190.             ftp.diku.dk
  191.  
  192. elsewhere:
  193.             ftp.cs.titech.ac.jp   utsun.s.u-tokyo.ac.jp:ftpsync/prep
  194.             archie.au:gnu
  195.  
  196.   You can also order tapes with GNU software from the Free Software
  197. Foundation (thereby supporting the development of the font utilities and
  198. the rest of the GNU project); send mail to `gnu@prep.ai.mit.edu' for
  199. the latest prices and ordering information, or retrieve the file
  200. `DISTRIB' from a GNU archive.
  201.  
  202.   The canonical source for the X window system is
  203. `export.lcs.mit.edu:pub/R5'.  That directory is also shadowed at many
  204. other sites, including `gatekeeper.dec.com'.  The FSF also sells X
  205. distribution tapes.
  206.  
  207.   TeX is more scattered.  A complete Unix TeX distribution is available
  208. for ftp on the machine `byron.u.washington.edu', or by ordering a tape
  209. from the University of Washington (send email to
  210. `elisabet@u.washington.edu'.  What is on `byron' for ftp is often
  211. out-of-date, though.
  212.  
  213.   The canonical sources for just Web2C--the port of just TeX, Metafont,
  214. and friends to Unix, without DVI processors, fonts, macro packages,
  215. etc.--are:
  216.  
  217.      ftp.cs.umb.edu [192.12.26.23]:pub/tex/                  (Boston)
  218.      ics.uci.edu [128.195.1.1]:TeX/                          (California)
  219.      ftp.th-darmstadt.de [130.83.55.75]:pub/tex/src/web2c/   (Germany)
  220.  
  221.   At all these sites, the files to retrieve are `web.tar.Z' and
  222. `web2c.tar.Z'.
  223.  
  224.   The DVI-to-PostScript driver we recommend is Tom Rokicki's Dvips, and
  225. the X window system driver we recommend is Paul Vojta's XDvi.  These
  226. programs are available from, respectively,
  227.      labrea.stanford.edu:pub/dvips*
  228.      export.lcs.mit.edu:contrib/xdvi.tar.Z
  229.  
  230.   We have modified XDvi and Dvips to use the same path searching code as
  231. the current distribution of TeX and these font utilities; the modified
  232. versions are available from `ftp.cs.umb.edu:pub/tex'.
  233.  
  234.   To use Metafont, you must have a file defining output devices. (*Note
  235. Metafont and BZRto::.)  We recommend you obtain `modes.mf' from
  236.      ftp.cs.umb.edu:pub/tex/modes.mf
  237.  
  238.   You can retrieve the document describing all the details of the naming
  239. scheme for TeX fonts from
  240.  
  241.      ftp.cs.umb.edu [192.12.26.23]:pub/tex/fontname.tar.Z
  242.  
  243. File: fontu.info,  Node: Problems,  Prev: Prereqs,  Up: Installation
  244.  
  245. Problems
  246. ========
  247.  
  248.   This section lists some things which have caused trouble during
  249. installation.  If you encounter other problems, please send a bug
  250. report.  *Note Bugs::, for how to submit a useful bug report.
  251.  
  252.    * You may get a warning from the compiler about `-static' being an
  253.      unrecognized option.  Ignore it.  (This has already been reported
  254.      to `bug-gcc'.)
  255.  
  256.    * Under SunOS 4.x, the programs which use X (XBfe and Limn) cannot be
  257.      dynamically linked, because (apparently) `/bin/ld' pulls in the
  258.      entire `.sa' file, and the Form, Label, and Viewport widgets are
  259.      multiply defined.  (To us, this seems to defeat the whole purpose
  260.      of having libraries.  It also seems bizarre to us that X was
  261.      written so that these multibyte functions are always needed (via
  262.      `__Xsi...'), and furthermore that the multibyte functions need to
  263.      specifically call the dynamic linking functions.)
  264.  
  265.      The file `lib/dlsym.c' (from the MIT X distribution) defines the
  266.      `dlsym', `dlclose', and `dlopen' symbols, so static linking should
  267.      work now.
  268.  
  269.      If the current setup fails, it might work to change `-lXaw' in the
  270.      definition of `X_libraries' in `lib/defs.make' to the full
  271.      pathname of the Xaw library.
  272.  
  273.    * On many machines (Sun 3 or Sun 4 running SunOS 4.1, Sun386i running
  274.      4.0.2, 386 running ISC 2.2), GCC 1.40 gets a fatal error compiling
  275.      `imageto/main.c' with `-O'.  Just use `-g' for that file, or use a
  276.      newer version of GCC.
  277.  
  278.    * On a 386 running Interactive UNIX 2.2, `<math.h>' declares the
  279.      wrong prototype for `fmod': the routine takes two doubles, not one.
  280.      We simply corrected our system include file.
  281.  
  282.      You may get compiler warnings for the file `widgets/Bitmap.c' at
  283.      the lines which use the Xt function `XtIsRealized' on systems which
  284.      define `NULL' as `(void *) 0'.  The reason is that macro
  285.      definition of `XtIsRealized' in `<X11/IntrinsicP.h>' incorrectly
  286.      compares the result of `XtWindowOfObject' to `NULL', instead of
  287.      `0'.  If the warnings bother you, fix `IntrinsicP.h'.
  288.  
  289.    * The application resource files `limn/Limn' and `xbfe/XBfe' must be
  290.      installed in a directory where your X server can find them. This
  291.      directory varies according to how X was installed; in the default X
  292.      distribution, it is `/usr/lib/X11/app-defaults'.  If you cannot (or
  293.      do not want to) write in the default directory, you can install
  294.      them elsewhere and set the `XAPPLRESDIR' environment variable to
  295.      that directory.  See the tutorial on resources that comes with the
  296.      MIT X distribution (`mit/doc/tutorial/resources.txt') for more
  297.      information.
  298.  
  299.   Good luck.
  300.